﻿package view.uilt
{
    import com.core.*;
    import com.sh.game.util.*;
    import flash.display.*;
    import flash.external.*;
    import flash.geom.*;
    import manager.*;
    import plugin.component.*;
    import view.message.*;
    import vo.*;

    public class ItemUilt extends Object
    {
        public static var canpay:Boolean = true;
        public static var ExpPoint:Point;

        public function ItemUilt()
        {
            return;
        }// end function

        public static function addItem(param1:int, param2:Sprite) : void
        {
            var _loc_9:String = null;
            var _loc_10:Array = null;
            var _loc_11:Object = null;
            var _loc_12:FlashItem = null;
            var _loc_3:* = ConfigDictionary.data.box;
            var _loc_4:* = ConfigDictionary.data.item;
            var _loc_5:* = _loc_3[param1];
            var _loc_6:* = (_loc_3[param1].items as String).split(";");
            var _loc_7:int = -1;
            var _loc_8:int = 0;
            while (_loc_8 < _loc_6.length)
            {
                
                _loc_9 = _loc_6[_loc_8];
                _loc_10 = _loc_9.split("-");
                if (_loc_10.length >= 5 && _loc_10[4] > 0 && _loc_10[4] != UserData.getUserData("career"))
                {
                }
                else if (_loc_10.length >= 4 && _loc_10[3] != 2 && _loc_10[3] != UserData.getUserData("sex"))
                {
                }
                else
                {
                    _loc_11 = ItemObject.create(_loc_4[_loc_10[0]]);
                    _loc_11.count = _loc_10[1];
                    if (_loc_11.itemtype == 1)
                    {
                        _loc_11.shixian = _loc_10[5];
                    }
                    else
                    {
                        _loc_11.bind = _loc_10[5];
                    }
                    _loc_12 = new FlashItem(_loc_11, 0.6, true, true, null, true);
                    _loc_7++;
                    _loc_12.x = 46 * _loc_7;
                    param2.addChild(_loc_12);
                }
                _loc_8++;
            }
            return;
        }// end function

        public static function getBoxArr(param1:int) : Array
        {
            var _loc_9:String = null;
            var _loc_10:Array = null;
            var _loc_11:ItemObject = null;
            var _loc_2:Array = [];
            var _loc_3:* = ConfigDictionary.data.box;
            var _loc_4:* = ConfigDictionary.data.item;
            var _loc_5:* = _loc_3[param1];
            var _loc_6:* = (_loc_3[param1].items as String).split(";");
            var _loc_7:int = -1;
            var _loc_8:int = 0;
            while (_loc_8 < _loc_6.length)
            {
                
                _loc_9 = _loc_6[_loc_8];
                _loc_10 = _loc_9.split("-");
                if (_loc_10.length >= 5 && _loc_10[4] > 0 && _loc_10[4] != UserData.getUserData("career"))
                {
                }
                else if (_loc_10.length >= 4 && _loc_10[3] != 2 && _loc_10[3] != UserData.getUserData("sex"))
                {
                }
                else
                {
                    _loc_11 = ItemObject.create(_loc_4[_loc_10[0]]);
                    if (_loc_11)
                    {
                        _loc_11.count = _loc_10[1];
                        _loc_11.shixian = _loc_10[5];
                        if (_loc_11.itemtype == 1)
                        {
                            _loc_11.superlevel = _loc_10[6];
                        }
                        _loc_2.push(_loc_11);
                    }
                }
                _loc_8++;
            }
            return _loc_2;
        }// end function

        public static function NumwithW(param1:Number) : String
        {
            var _loc_3:int = 0;
            var _loc_4:int = 0;
            var _loc_2:* = String(param1);
            if (param1 > 10000)
            {
                _loc_3 = param1 / 10000;
                _loc_4 = param1 - _loc_3 * 10000;
                if (_loc_4 > 0)
                {
                    _loc_2 = Number(param1 / 10000) + "万";
                }
                else
                {
                    _loc_2 = int(param1 / 10000) + "万";
                }
            }
            return _loc_2;
        }// end function

        public static function getAllCount(param1:int, param2:int = 0) : int
        {
            var _loc_7:Object = null;
            var _loc_3:int = 0;
            var _loc_4:* = UserData.getBagData();
            if (UserData.getBagData() == null)
            {
                return 0;
            }
            var _loc_5:* = _loc_4.maxcount;
            if (param1 == 1)
            {
                return _loc_4.gold;
            }
            if (param1 == 6)
            {
                return _loc_4.bgold + _loc_4.gold;
            }
            if (param1 == 3)
            {
                return _loc_4.money;
            }
            if (param1 == 2)
            {
                return _loc_4.bonus;
            }
            var _loc_6:int = 1;
            while (_loc_6 < _loc_5)
            {
                
                _loc_7 = _loc_4[_loc_6];
                if (_loc_7)
                {
                    if (_loc_7[4] && _loc_7[4].itemid == param1)
                    {
                        if (param2 > 0 && param2 && _loc_7[4].superlevel < param2)
                        {
                        }
                        else
                        {
                            _loc_3 = _loc_3 + _loc_7[1];
                        }
                    }
                }
                _loc_6++;
            }
            return _loc_3;
        }// end function

        public static function getCount(param1:int) : int
        {
            var _loc_2:int = 0;
            var _loc_3:* = UserData.getBagData();
            var _loc_4:* = _loc_3[param1];
            _loc_2 = _loc_3[param1][1];
            return _loc_2;
        }// end function

        public static function getArmIndex(param1:int, param2:int = 0) : int
        {
            var _loc_6:Object = null;
            var _loc_3:* = UserData.getBagData();
            var _loc_4:* = _loc_3.maxcount;
            var _loc_5:int = 1;
            while (_loc_5 < _loc_4)
            {
                
                _loc_6 = _loc_3[_loc_5];
                if (_loc_6)
                {
                    if (_loc_6[4] && _loc_6[4].itemid == param1)
                    {
                        if (param2 > 0 && param2 && _loc_6[4].superlevel < param2)
                        {
                        }
                        else
                        {
                            return _loc_5;
                        }
                    }
                }
                _loc_5++;
            }
            return 0;
        }// end function

        public static function getPowValue(param1:Object) : int
        {
            var _loc_17:Array = null;
            var _loc_18:String = null;
            var _loc_19:Array = null;
            var _loc_20:int = 0;
            var _loc_21:Object = null;
            var _loc_22:Object = null;
            if (param1 == null || !param1.hasOwnProperty("itemid"))
            {
                return 0;
            }
            var _loc_2:int = 0;
            var _loc_3:* = int(param1.phyAtt);
            var _loc_4:* = int(param1.phyAttMax);
            var _loc_5:* = int(param1.magicAtt);
            var _loc_6:* = int(param1.magicAttMax);
            var _loc_7:* = int(param1.taoAtt);
            var _loc_8:* = int(param1.taoAttMax);
            var _loc_9:* = int(param1.phyDefMax);
            var _loc_10:* = int(param1.magicDefMax);
            var _loc_11:* = int(param1.hp);
            var _loc_12:* = int(param1.mp);
            var _loc_13:int = 0;
            var _loc_14:int = 0;
            var _loc_15:* = param1.fm;
            var _loc_16:* = param1.xq;
            if (_loc_3 > 0)
            {
                _loc_13 = _loc_4;
                _loc_14 = _loc_3;
            }
            else if (_loc_5 > 0)
            {
                _loc_13 = _loc_6;
                _loc_14 = _loc_5;
            }
            else if (_loc_7 > 0)
            {
                _loc_13 = _loc_8;
                _loc_14 = _loc_7;
            }
            if (param1.thpadd > 0)
            {
                _loc_11 = _loc_11 + int(param1.thpadd);
                _loc_12 = _loc_12 + int(param1.tmpadd);
                _loc_13 = _loc_13 + int(param1.attmaxadd);
                _loc_14 = _loc_14 + param1.attminadd;
                _loc_9 = _loc_9 + int(param1.defmaxadd);
                _loc_10 = _loc_10 + int(param1.defmaxadd);
            }
            else if (param1.attmaxadd > 0)
            {
                _loc_13 = _loc_13 + int(param1.attmaxadd);
                _loc_14 = _loc_14 + int(param1.attminadd);
                _loc_9 = _loc_9 + int(param1.defmaxadd);
                _loc_10 = _loc_10 + int(param1.defmaxadd);
            }
            if (_loc_15 != null)
            {
                _loc_17 = _loc_15.split(";");
                for each (_loc_18 in _loc_17)
                {
                    
                    if (_loc_18 != "null" && _loc_18 != "")
                    {
                        _loc_19 = _loc_18.split("#");
                        if (_loc_19[1] == "fmhp")
                        {
                            _loc_11 = _loc_11 + int(_loc_19[2]);
                            continue;
                        }
                        if (_loc_19[1] == "fmmp")
                        {
                            _loc_12 = _loc_12 + int(_loc_19[2]);
                        }
                    }
                }
            }
            if (_loc_16 != null)
            {
                for each (_loc_20 in _loc_16)
                {
                    
                    if (_loc_20 > 1)
                    {
                        _loc_21 = ConfigDictionary.data.item;
                        _loc_22 = _loc_21[_loc_20];
                        if (_loc_22 != null)
                        {
                            if (_loc_3 > 0)
                            {
                                _loc_13 = _loc_13 + int(_loc_22.phyAttMax);
                                _loc_14 = _loc_14 + int(_loc_22.phyAtt);
                            }
                            else if (_loc_5 > 0)
                            {
                                _loc_13 = _loc_13 + int(_loc_22.magicAttMax);
                                _loc_14 = _loc_14 + int(_loc_22.magicAtt);
                            }
                            else if (_loc_7 > 0)
                            {
                                _loc_13 = _loc_13 + int(_loc_22.taoAttMax);
                                _loc_14 = _loc_14 + int(_loc_22.taoAtt);
                            }
                            if (_loc_22.hp > 0)
                            {
                                _loc_11 = _loc_11 + int(_loc_22.hp);
                            }
                            if (_loc_22.mp > 0)
                            {
                                _loc_12 = _loc_12 + int(_loc_22.mp);
                            }
                            if (_loc_22.phyDefMax > 0)
                            {
                                _loc_9 = _loc_9 + int(_loc_22.phyDefMax);
                            }
                            if (_loc_22.magicDefMax > 0)
                            {
                                _loc_10 = _loc_10 + int(_loc_22.magicDefMax);
                            }
                        }
                    }
                }
            }
            _loc_2 = int(((_loc_13 + _loc_14) / 2 + (_loc_9 + _loc_10) * 0.3 + _loc_11 / 10 + _loc_12 / 30) * 2);
            return _loc_2;
        }// end function

        public static function checkUserLevel(param1:int) : int
        {
            var _loc_2:* = UserData.getUserData("level");
            if (_loc_2 >= param1)
            {
                return 0;
            }
            return param1;
        }// end function

        public static function checkUserLevelRein(param1:int, param2:int = 0) : Boolean
        {
            var _loc_3:* = UserData.getUserData("level");
            var _loc_4:* = UserData.getUserData("rein");
            if (param1 > 0 && param2 > 0)
            {
                return _loc_3 >= param1 && _loc_4 >= param2;
            }
            if (param1 > 0)
            {
                return _loc_3 >= param1;
            }
            if (param2 > 0)
            {
                return _loc_4 >= param2;
            }
            return true;
        }// end function

        public static function ArmProchange(param1:String) : String
        {
            var _loc_2:String = "";
            switch(param1)
            {
                case "att":
                {
                    _loc_2 = "攻    击:";
                    break;
                }
                case "def":
                {
                    _loc_2 = "防    御:";
                    break;
                }
                case "attackSpeed":
                {
                    _loc_2 = "攻    速:";
                    break;
                }
                case "accurate":
                {
                    _loc_2 = "准    确:";
                    break;
                }
                case "dodge":
                {
                    _loc_2 = "闪    避:";
                    break;
                }
                case "hp":
                {
                    _loc_2 = "生 命 值:";
                    break;
                }
                case "mp":
                {
                    _loc_2 = "魔 法 值:";
                    break;
                }
                case "hppercent":
                {
                    _loc_2 = "生命值百分比:";
                    break;
                }
                case "mppercent":
                {
                    _loc_2 = "魔法值百分比:";
                    break;
                }
                default:
                {
                    break;
                    break;
                }
            }
            return _loc_2;
        }// end function

        public static function checkVip() : Boolean
        {
            var _loc_1:* = ModelProxy.getValue("vip", "getvip");
            if (!_loc_1)
            {
                return false;
            }
            return _loc_1.vipLevel != 0;
        }// end function

        public static function checkVIPLevel(param1:int) : Boolean
        {
            if (param1 == 0)
            {
                return true;
            }
            var _loc_2:* = ModelProxy.getValue("vip", "getvip");
            var _loc_3:* = _loc_2.vipLevel;
            if (param1 == 1 && _loc_3 == -1)
            {
                return true;
            }
            if (_loc_3 >= param1)
            {
                return true;
            }
            return false;
        }// end function

        public static function getVipLevelparam(param1:String) : int
        {
            var _loc_2:* = ModelProxy.getValue("vip", "getvip");
            var _loc_3:* = _loc_2.vipLevel;
            return ConfigDictionary.data.viplv[_loc_3][param1];
        }// end function

        public static function isfly() : Boolean
        {
            var _loc_1:* = ModelProxy.getValue("vip", "getvip");
            if (_loc_1.privilegeCardLevel == 3)
            {
                return true;
            }
            if (_loc_1.leftSignCount > 0)
            {
                return true;
            }
            if (getAllCount(101) > 0)
            {
                return true;
            }
            return false;
        }// end function

        public static function lessMoney() : void
        {
            Alert2.show("元宝不足前往充值", "", ["确认", "取消"], function (param1:int, param2:Object) : void
            {
                if (param1 == 0)
                {
                    if (!ItemUilt.canpay)
                    {
                        ModelProxy.change("movetips", "error", "功能尚未开放，敬请期待");
                        return;
                    }
                    ExternalInterface.call("topay");
                }
                return;
            }// end function
            );
            ModelProxy.change("data", "itempoint", null);
            return;
        }// end function

        public static function ErrortipsForLevel(param1:int, param2:int = 0, param3:String = "该功能") : void
        {
            if (param2 > 0 && param1 > 0)
            {
                WarningManager.show(146, [param2, param1, param3]);
            }
            else if (param2 > 0)
            {
                WarningManager.show(136, [param2, param3]);
            }
            else if (param1 > 0)
            {
                WarningManager.show(30, [param1, param3]);
            }
            else
            {
                ModelProxy.change("movetips", "error", "功能暂未开启");
            }
            return;
        }// end function

        public static function getInfo(param1:Object, param2:int) : String
        {
            var _loc_3:String = "";
            if (param1.att > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加全攻击" + param1.att + "\n", param2);
            }
            if (param1.def > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加全防御" + param1.def + "\n", param2);
            }
            if (param1.luck > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加幸运" + param1.luck + "\n", param2);
            }
            if (param1.crit > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加暴击率" + param1.crit + "\n", param2);
            }
            if (param1.critrate > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加暴击伤害" + param1.critrate + "\n", param2);
            }
            if (param1.attackSpeed > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加攻速" + param1.attackSpeed + "\n", param2);
            }
            if (param1.accurate > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加准确" + param1.accurate + "\n", param2);
            }
            if (param1.dodge > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加敏捷" + param1.dodge + "\n", param2);
            }
            if (param1.hp > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加生命值" + param1.hp + "\n", param2);
            }
            if (param1.mp > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加魔法值" + param1.mp + "\n", param2);
            }
            if (param1.pureatk > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加混乱攻击" + param1.pureatk + "\n", param2);
            }
            if (param1.puredef > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加混乱防御" + param1.puredef + "\n", param2);
            }
            if (param1.attpercent > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加基础攻击" + param1.attpercent + "%\n", param2);
            }
            if (param1.defpercent > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加基础防御" + param1.defpercent + "%\n", param2);
            }
            if (param1.hppercent > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加基础生命值" + param1.hppercent + "%\n", param2);
            }
            if (param1.mppercent > 0)
            {
                _loc_3 = _loc_3 + MColor.getHMTL("增加基础魔法值" + param1.mppercent + "%\n", param2);
            }
            return _loc_3;
        }// end function

        public static function checkMapIsFly() : Boolean
        {
            var _loc_1:* = UserData.getUserData("mapid");
            var _loc_2:* = ConfigDictionary.data.maplist;
            if (_loc_2[_loc_1].isfly == 0)
            {
                ModelProxy.change("movetips", "error", "此地不可以使用传送术");
                return false;
            }
            return true;
        }// end function

    }
}
